Q. I need to know if <product> works on my Risc PC. Where do I find out?
A. Probably your best route is to ask the vendor of that product. Of the products Acorn has tested, over 95% work without modification. Of the remaining 5%, many of the software houses have since produced newer versions which work correctly. A large percentage of the incompatible software comprises games; problems running these pieces of software are commonly connected with screen modes. "Game On!," a utility to patch some of these games, has recently become available from:
The ARM Club
FREEPOST ND 6573
London
N12 0BR
Anatomy of a Monitor Definition File
------------------------------------
Unlike earlier machines, Risc PCs take details of the screen modes a given monitor can display from a Monitor Definition File (MDF), a number of which reside in ADFS::4.$.!Boot.Resources.Configure.Monitors, subdivided by monitor manufacturer. An MDF is plaintext, however it is not advised that these files be modified manually.
A Monitor Definition File has the parameter set:
file_format: format
monitor_title: title
DPMS_state: state
These three parameters only appear at the start of an MDF; the following segment is repeated for each mode:
mode_name: is a textual name for the mode that will be used in the display manager's mode menu. It is possible to prevent defined screen modes from appearing in the modes menu by leaving this field blank. Mode names are limited to 19 characters, and may contain spaces.
x-resolution= number of pixels displayed across the screen
y-resolution= number of rasters displayed vertically (pixels)
hsync= width of horizontal sync pulse (must be a multiple of 2)
hbpch= width of horizontal back porch
hlbdr= width of left border (hbpch + hlbdr must be a multiple of 2)
hdisp= number of pixels displayed horizontally (which is normally the same
as the x-resolution)
hrbdr= width of right border
hfpch= width of horizontal front porch
vsync= width of vertical sync pulse
vbpch= width of vertical back porch
vtbdr= width of top border
vdisp= number of rasters displayed vertically (pixels)
vbbdr= width of bottom border
vfpch= width of vertical front porch
pixel_rate= pixel rate in kHz
sync_polarities: is a number indicating what kind of sync signals are
required. The options are:
0 hsync normal, vsync normal
1 hsync inverted, vsync normal
2 hsync normal, vsync inverted
3 hsync inverted, vsync inverted
All values on the h_timings line are in units of pixels, and all values on the v_timings line are in units of raster lines. To convert between these units and the timings described in the technical notes accompanying your monitor, use:
<insert drawfiles of formulae here>
More detail is available in Application Note 254, available from Acorn dealers and downloadable from ftp.acorn.co.uk.
Postcards From The Edge
-----------------------
Following on from Acorn World and the discussions the developments we showcased there have evoked, here are a few notes to clear up any confusion. More data next month!
Regarding FileCore, after much investigation Acorn is making a small change to the interface specification of FileCore. The change involves the addressing of data on the disc. Currently this address is passed as a 32bit quantity and is the drive number and a byte offset, this is changing to the drive number and a logical block number. This increases the range of addressable data. Although this would theoretically lead to a 256GB maximum disc size, the structures of FileCore prevent this (since they were optimised for a maximum of 512MB). The maximum size we are recommending for IDE-based filesystems under the new module set is 4GB. A 'new structure disc' can be identified by looking at the disc size record. Both SWI FileCore_DiscOp and SWI FileCore_MiscOp will be re-coded to distinguish between the two types of disc.
Those filing systems for which block addressing would be appropriate will also require modification so that they are able to inform FileCore to return a block number.
As the filing system is such a critical part of RISC OS, Acorn will be performing a great deal of soak-testing on these new modules, hence it is not possible to speculate on a release date.